Virtualization technologies such as VMware and Microsoft Virtual Server are becoming prevalent in the market place. These technologies provide a virtual hardware abstraction to guest operating systems, and allow them to run as applications (virtual machines) in a functionally isolated environment on a host computer without being modified. Virtualization allows multiple virtual machines to run on a single physical server (host computer) simultaneously, providing functional and performance isolation for processor, memory, storage, etc. among the multiple instances of virtual machines.
Virtual Machines are virtual environments that simulate behavior of physical machines. Like physical machines, a virtual machine provides a console for accessing its mouse, keyboard and display. Typically the access to a console is provided via either a client application or via a web browser. VMware provides both a Windows and Linux application for accessing a virtual machine. Microsoft Virtual Server provides a browser based interface, in which the console is embedded in a browser as an ActiveX control. With this approach, end users do not need to install and maintain a client application on the underlying physical machine, and users can access the console from anywhere with a browser.
Over the past few decades, software has evolved from monolithic centralized applications to client-server based applications, and now to distributed applications. As software gets more complex, the components of a software program often reside on different servers, because of both the computational power required by complex applications, and the distributed nature of much contemporary software. For example, to setup a Microsoft Exchange Server system, an administrator typically has to setup 1) an Active Directory Server for domain administration, 2) a Backup Active Directory Server for redundancy, 3) one or more Exchange Back-end Servers to manage mail storage and 4) one or more Exchange Front-end Servers to communicate with email clients.
These servers in the Exchange setup are closely related to each other, and should be administered and managed together as a group. Note also that these multiple Exchange Servers could be configured as multiple virtual machines installed on one or more physical machines. Under these circumstances, despite the fact that the virtual machines are related, there is no ready way to indicate that one virtual machine is related to another virtual machine, or the nature of the relationship.
Managing many virtual machines on the same desktop is challenging, as virtual machines can overlap with each other in a confusing manner. Many virtual machines are related to each other in the functionality that they perform, such as in the case of the Exchange servers described above. These relationships can lead to human error, where operations thought to be performed on one virtual machine can actually be performed on a different one.
What is needed are methods, computer readable media and computer systems for viewing and managing multiple virtual machines running on physical computers via a single interface.